home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_bool.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  12KB  |  380 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. import unittest
  5. from test import test_support
  6. import os
  7.  
  8. class BoolTest(unittest.TestCase):
  9.     
  10.     def assertIs(self, a, b):
  11.         self.assert_(a is b)
  12.  
  13.     
  14.     def assertIsNot(self, a, b):
  15.         self.assert_(a is not b)
  16.  
  17.     
  18.     def test_subclass(self):
  19.         
  20.         try:
  21.             
  22.             class C(bool):
  23.                 pass
  24.  
  25.         except TypeError:
  26.             pass
  27.  
  28.         self.fail('bool should not be subclassable')
  29.         self.assertRaises(TypeError, int.__new__, bool, 0)
  30.  
  31.     
  32.     def test_print(self):
  33.         
  34.         try:
  35.             fo = open(test_support.TESTFN, 'wb')
  36.             print >>fo, False, True
  37.             fo.close()
  38.             fo = open(test_support.TESTFN, 'rb')
  39.             self.assertEqual(fo.read(), 'False True\n')
  40.         finally:
  41.             fo.close()
  42.             os.remove(test_support.TESTFN)
  43.  
  44.  
  45.     
  46.     def test_repr(self):
  47.         self.assertEqual(repr(False), 'False')
  48.         self.assertEqual(repr(True), 'True')
  49.         self.assertEqual(eval(repr(False)), False)
  50.         self.assertEqual(eval(repr(True)), True)
  51.  
  52.     
  53.     def test_str(self):
  54.         self.assertEqual(str(False), 'False')
  55.         self.assertEqual(str(True), 'True')
  56.  
  57.     
  58.     def test_int(self):
  59.         self.assertEqual(int(False), 0)
  60.         self.assertIsNot(int(False), False)
  61.         self.assertEqual(int(True), 1)
  62.         self.assertIsNot(int(True), True)
  63.  
  64.     
  65.     def test_math(self):
  66.         self.assertEqual(+False, 0)
  67.         self.assertIsNot(+False, False)
  68.         self.assertEqual(-False, 0)
  69.         self.assertIsNot(-False, False)
  70.         self.assertEqual(abs(False), 0)
  71.         self.assertIsNot(abs(False), False)
  72.         self.assertEqual(+True, 1)
  73.         self.assertIsNot(+True, True)
  74.         self.assertEqual(-True, -1)
  75.         self.assertEqual(abs(True), 1)
  76.         self.assertIsNot(abs(True), True)
  77.         self.assertEqual(~False, -1)
  78.         self.assertEqual(~True, -2)
  79.         self.assertEqual(False + 2, 2)
  80.         self.assertEqual(True + 2, 3)
  81.         self.assertEqual(2 + False, 2)
  82.         self.assertEqual(2 + True, 3)
  83.         self.assertEqual(False + False, 0)
  84.         self.assertIsNot(False + False, False)
  85.         self.assertEqual(False + True, 1)
  86.         self.assertIsNot(False + True, True)
  87.         self.assertEqual(True + False, 1)
  88.         self.assertIsNot(True + False, True)
  89.         self.assertEqual(True + True, 2)
  90.         self.assertEqual(True - True, 0)
  91.         self.assertIsNot(True - True, False)
  92.         self.assertEqual(False - False, 0)
  93.         self.assertIsNot(False - False, False)
  94.         self.assertEqual(True - False, 1)
  95.         self.assertIsNot(True - False, True)
  96.         self.assertEqual(False - True, -1)
  97.         self.assertEqual(True * 1, 1)
  98.         self.assertEqual(False * 1, 0)
  99.         self.assertIsNot(False * 1, False)
  100.         self.assertEqual(True / 1, 1)
  101.         self.assertIsNot(True / 1, True)
  102.         self.assertEqual(False / 1, 0)
  103.         self.assertIsNot(False / 1, False)
  104.         for b in (False, True):
  105.             for i in (0, 1, 2):
  106.                 self.assertEqual(b ** i, int(b) ** i)
  107.                 self.assertIsNot(b ** i, bool(int(b) ** i))
  108.             
  109.         
  110.         for a in (False, True):
  111.             for b in (False, True):
  112.                 self.assertIs(a & b, bool(int(a) & int(b)))
  113.                 self.assertIs(a | b, bool(int(a) | int(b)))
  114.                 self.assertIs(a ^ b, bool(int(a) ^ int(b)))
  115.                 self.assertEqual(a & int(b), int(a) & int(b))
  116.                 self.assertIsNot(a & int(b), bool(int(a) & int(b)))
  117.                 self.assertEqual(a | int(b), int(a) | int(b))
  118.                 self.assertIsNot(a | int(b), bool(int(a) | int(b)))
  119.                 self.assertEqual(a ^ int(b), int(a) ^ int(b))
  120.                 self.assertIsNot(a ^ int(b), bool(int(a) ^ int(b)))
  121.                 self.assertEqual(int(a) & b, int(a) & int(b))
  122.                 self.assertIsNot(int(a) & b, bool(int(a) & int(b)))
  123.                 self.assertEqual(int(a) | b, int(a) | int(b))
  124.                 self.assertIsNot(int(a) | b, bool(int(a) | int(b)))
  125.                 self.assertEqual(int(a) ^ b, int(a) ^ int(b))
  126.                 self.assertIsNot(int(a) ^ b, bool(int(a) ^ int(b)))
  127.             
  128.         
  129.         self.assertIs(1 == 1, True)
  130.         self.assertIs(1 == 0, False)
  131.         self.assertIs(0 < 1, True)
  132.         self.assertIs(1 < 0, False)
  133.         self.assertIs(0 <= 0, True)
  134.         self.assertIs(1 <= 0, False)
  135.         self.assertIs(1 > 0, True)
  136.         self.assertIs(1 > 1, False)
  137.         self.assertIs(1 >= 1, True)
  138.         self.assertIs(0 >= 1, False)
  139.         self.assertIs(0 != 1, True)
  140.         self.assertIs(0 != 0, False)
  141.         x = [
  142.             1]
  143.         self.assertIs(x is x, True)
  144.         self.assertIs(x is not x, False)
  145.         self.assertIs(1 in x, True)
  146.         self.assertIs(0 in x, False)
  147.         self.assertIs(1 not in x, False)
  148.         self.assertIs(0 not in x, True)
  149.         x = {
  150.             1: 2 }
  151.         self.assertIs(x is x, True)
  152.         self.assertIs(x is not x, False)
  153.         self.assertIs(1 in x, True)
  154.         self.assertIs(0 in x, False)
  155.         self.assertIs(1 not in x, False)
  156.         self.assertIs(0 not in x, True)
  157.         self.assertIs(not True, False)
  158.         self.assertIs(not False, True)
  159.  
  160.     
  161.     def test_convert(self):
  162.         self.assertRaises(TypeError, bool, 42, 42)
  163.         self.assertIs(bool(10), True)
  164.         self.assertIs(bool(1), True)
  165.         self.assertIs(bool(-1), True)
  166.         self.assertIs(bool(0), False)
  167.         self.assertIs(bool('hello'), True)
  168.         self.assertIs(bool(''), False)
  169.         self.assertIs(bool(), False)
  170.  
  171.     
  172.     def test_hasattr(self):
  173.         self.assertIs(hasattr([], 'append'), True)
  174.         self.assertIs(hasattr([], 'wobble'), False)
  175.  
  176.     
  177.     def test_callable(self):
  178.         self.assertIs(callable(len), True)
  179.         self.assertIs(callable(1), False)
  180.  
  181.     
  182.     def test_isinstance(self):
  183.         self.assertIs(isinstance(True, bool), True)
  184.         self.assertIs(isinstance(False, bool), True)
  185.         self.assertIs(isinstance(True, int), True)
  186.         self.assertIs(isinstance(False, int), True)
  187.         self.assertIs(isinstance(1, bool), False)
  188.         self.assertIs(isinstance(0, bool), False)
  189.  
  190.     
  191.     def test_issubclass(self):
  192.         self.assertIs(issubclass(bool, int), True)
  193.         self.assertIs(issubclass(int, bool), False)
  194.  
  195.     
  196.     def test_haskey(self):
  197.         self.assertIs({ }.has_key(1), False)
  198.         self.assertIs({
  199.             1: 1 }.has_key(1), True)
  200.  
  201.     
  202.     def test_string(self):
  203.         self.assertIs('xyz'.endswith('z'), True)
  204.         self.assertIs('xyz'.endswith('x'), False)
  205.         self.assertIs('xyz0123'.isalnum(), True)
  206.         self.assertIs('@#$%'.isalnum(), False)
  207.         self.assertIs('xyz'.isalpha(), True)
  208.         self.assertIs('@#$%'.isalpha(), False)
  209.         self.assertIs('0123'.isdigit(), True)
  210.         self.assertIs('xyz'.isdigit(), False)
  211.         self.assertIs('xyz'.islower(), True)
  212.         self.assertIs('XYZ'.islower(), False)
  213.         self.assertIs(' '.isspace(), True)
  214.         self.assertIs('XYZ'.isspace(), False)
  215.         self.assertIs('X'.istitle(), True)
  216.         self.assertIs('x'.istitle(), False)
  217.         self.assertIs('XYZ'.isupper(), True)
  218.         self.assertIs('xyz'.isupper(), False)
  219.         self.assertIs('xyz'.startswith('x'), True)
  220.         self.assertIs('xyz'.startswith('z'), False)
  221.         if test_support.have_unicode:
  222.             self.assertIs(unicode('xyz', 'ascii').endswith(unicode('z', 'ascii')), True)
  223.             self.assertIs(unicode('xyz', 'ascii').endswith(unicode('x', 'ascii')), False)
  224.             self.assertIs(unicode('xyz0123', 'ascii').isalnum(), True)
  225.             self.assertIs(unicode('@#$%', 'ascii').isalnum(), False)
  226.             self.assertIs(unicode('xyz', 'ascii').isalpha(), True)
  227.             self.assertIs(unicode('@#$%', 'ascii').isalpha(), False)
  228.             self.assertIs(unicode('0123', 'ascii').isdecimal(), True)
  229.             self.assertIs(unicode('xyz', 'ascii').isdecimal(), False)
  230.             self.assertIs(unicode('0123', 'ascii').isdigit(), True)
  231.             self.assertIs(unicode('xyz', 'ascii').isdigit(), False)
  232.             self.assertIs(unicode('xyz', 'ascii').islower(), True)
  233.             self.assertIs(unicode('XYZ', 'ascii').islower(), False)
  234.             self.assertIs(unicode('0123', 'ascii').isnumeric(), True)
  235.             self.assertIs(unicode('xyz', 'ascii').isnumeric(), False)
  236.             self.assertIs(unicode(' ', 'ascii').isspace(), True)
  237.             self.assertIs(unicode('XYZ', 'ascii').isspace(), False)
  238.             self.assertIs(unicode('X', 'ascii').istitle(), True)
  239.             self.assertIs(unicode('x', 'ascii').istitle(), False)
  240.             self.assertIs(unicode('XYZ', 'ascii').isupper(), True)
  241.             self.assertIs(unicode('xyz', 'ascii').isupper(), False)
  242.             self.assertIs(unicode('xyz', 'ascii').startswith(unicode('x', 'ascii')), True)
  243.             self.assertIs(unicode('xyz', 'ascii').startswith(unicode('z', 'ascii')), False)
  244.         
  245.  
  246.     
  247.     def test_boolean(self):
  248.         self.assertEqual(True & 1, 1)
  249.         self.assert_(not isinstance(True & 1, bool))
  250.         self.assertIs(True & True, True)
  251.         self.assertEqual(True | 1, 1)
  252.         self.assert_(not isinstance(True | 1, bool))
  253.         self.assertIs(True | True, True)
  254.         self.assertEqual(True ^ 1, 0)
  255.         self.assert_(not isinstance(True ^ 1, bool))
  256.         self.assertIs(True ^ True, False)
  257.  
  258.     
  259.     def test_fileclosed(self):
  260.         
  261.         try:
  262.             f = file(test_support.TESTFN, 'w')
  263.             self.assertIs(f.closed, False)
  264.             f.close()
  265.             self.assertIs(f.closed, True)
  266.         finally:
  267.             os.remove(test_support.TESTFN)
  268.  
  269.  
  270.     
  271.     def test_operator(self):
  272.         import operator as operator
  273.         self.assertIs(operator.truth(0), False)
  274.         self.assertIs(operator.truth(1), True)
  275.         self.assertIs(operator.isCallable(0), False)
  276.         self.assertIs(operator.isCallable(len), True)
  277.         self.assertIs(operator.isNumberType(None), False)
  278.         self.assertIs(operator.isNumberType(0), True)
  279.         self.assertIs(operator.not_(1), False)
  280.         self.assertIs(operator.not_(0), True)
  281.         self.assertIs(operator.isSequenceType(0), False)
  282.         self.assertIs(operator.isSequenceType([]), True)
  283.         self.assertIs(operator.contains([], 1), False)
  284.         self.assertIs(operator.contains([
  285.             1], 1), True)
  286.         self.assertIs(operator.isMappingType(1), False)
  287.         self.assertIs(operator.isMappingType({ }), True)
  288.         self.assertIs(operator.lt(0, 0), False)
  289.         self.assertIs(operator.lt(0, 1), True)
  290.         self.assertIs(operator.is_(True, True), True)
  291.         self.assertIs(operator.is_(True, False), False)
  292.         self.assertIs(operator.is_not(True, True), False)
  293.         self.assertIs(operator.is_not(True, False), True)
  294.  
  295.     
  296.     def test_marshal(self):
  297.         import marshal as marshal
  298.         self.assertIs(marshal.loads(marshal.dumps(True)), True)
  299.         self.assertIs(marshal.loads(marshal.dumps(False)), False)
  300.  
  301.     
  302.     def test_pickle(self):
  303.         import pickle as pickle
  304.         self.assertIs(pickle.loads(pickle.dumps(True)), True)
  305.         self.assertIs(pickle.loads(pickle.dumps(False)), False)
  306.         self.assertIs(pickle.loads(pickle.dumps(True, True)), True)
  307.         self.assertIs(pickle.loads(pickle.dumps(False, True)), False)
  308.  
  309.     
  310.     def test_cpickle(self):
  311.         import cPickle as cPickle
  312.         self.assertIs(cPickle.loads(cPickle.dumps(True)), True)
  313.         self.assertIs(cPickle.loads(cPickle.dumps(False)), False)
  314.         self.assertIs(cPickle.loads(cPickle.dumps(True, True)), True)
  315.         self.assertIs(cPickle.loads(cPickle.dumps(False, True)), False)
  316.  
  317.     
  318.     def test_mixedpickle(self):
  319.         import pickle
  320.         import cPickle
  321.         self.assertIs(pickle.loads(cPickle.dumps(True)), True)
  322.         self.assertIs(pickle.loads(cPickle.dumps(False)), False)
  323.         self.assertIs(pickle.loads(cPickle.dumps(True, True)), True)
  324.         self.assertIs(pickle.loads(cPickle.dumps(False, True)), False)
  325.         self.assertIs(cPickle.loads(pickle.dumps(True)), True)
  326.         self.assertIs(cPickle.loads(pickle.dumps(False)), False)
  327.         self.assertIs(cPickle.loads(pickle.dumps(True, True)), True)
  328.         self.assertIs(cPickle.loads(pickle.dumps(False, True)), False)
  329.  
  330.     
  331.     def test_picklevalues(self):
  332.         import pickle
  333.         import cPickle
  334.         self.assertEqual(pickle.dumps(True), 'I01\n.')
  335.         self.assertEqual(pickle.dumps(False), 'I00\n.')
  336.         self.assertEqual(cPickle.dumps(True), 'I01\n.')
  337.         self.assertEqual(cPickle.dumps(False), 'I00\n.')
  338.         self.assertEqual(pickle.dumps(True, True), 'I01\n.')
  339.         self.assertEqual(pickle.dumps(False, True), 'I00\n.')
  340.         self.assertEqual(cPickle.dumps(True, True), 'I01\n.')
  341.         self.assertEqual(cPickle.dumps(False, True), 'I00\n.')
  342.  
  343.     
  344.     def test_convert_to_bool(self):
  345.         
  346.         check = lambda o: self.assertRaises(TypeError, bool, o)
  347.         
  348.         class Foo(object):
  349.             
  350.             def __nonzero__(self):
  351.                 return self
  352.  
  353.  
  354.         check(Foo())
  355.         
  356.         class Bar(object):
  357.             
  358.             def __nonzero__(self):
  359.                 return 'Yes'
  360.  
  361.  
  362.         check(Bar())
  363.         
  364.         class Baz(int):
  365.             
  366.             def __nonzero__(self):
  367.                 return self
  368.  
  369.  
  370.         check(Baz())
  371.  
  372.  
  373.  
  374. def test_main():
  375.     test_support.run_unittest(BoolTest)
  376.  
  377. if __name__ == '__main__':
  378.     test_main()
  379.  
  380.